home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-11-20 | 66.4 KB | 1,391 lines |
-
- MANDELTOUR/AGA v3.0
-
-
-
- WHY A NEW MANDELBROT EXPLORER ?
-
- There are already lots of Mandelbrot explorers, most in the public domain,
- and a few, very performing, commercial ones, such as Mand2000. Is there
- any room left for a new product?
-
- Two simple answers:
-
- 1 - Take a glance at MandelTour pictures. If you feel that you already
- saw them hundreds of times, better stick to your old Mandelbrot
- explorer; MandelTour is not for you.
- If you see the difference, you should be interested with the
- numerous rendering options of MandelTour and its exclusive palette
- facility. There is nothing equivalent in other Amiga packages.
-
- 2 - MandelTour is designed for a systematic exploration of Mandelbrot set.
- This is a complete universe to explore, fascinating, but infinite...
- Why waste time in exploring again areas which were already computed
- weeks or months before? MandelTour keeps a catalog of all the pictures
- which have been saved and allows you to redisplay any of them with a
- few mouse strokes. Once again there is nothing equivalent right now.
-
-
-
-
- INSTALLATION
-
-
- Before anything, do make security backups of the two supplied diskettes. They
- are not copy protected. Don't change their names! (in other terms, if you
- used Workbench facilities for these backups, rename these copies so as to
- remove the words "Copy_of_" from the diskettes names.
-
-
- The installation of MandelTour is rather simple, but you must decide between
- several options, depending on your setup and your habits. You must understand
- that MandelTour is designed for a systematic exploration of Mandelbrot and
- Julia sets and that it keeps a catalog of all the calculations that you have
- saved, in a special file along the main program. So:
-
- 1 - If you have only one floppy, there is no installation to be done, but
- be prepared to do some swapping. Everytime that you save a picture,
- the program will ask first for the current storage diskette, so as to put
- the new picture asides the preceding ones, then for the master diskette,
- so as to update the catalog.
-
- 2 - If you have two floppies, keep the master diskette in one of them and
- put the storage diskettes in the other one.
-
- 3 - If you have a hard disk, you can install the program on your disk.
- Simply open the master diskette and drag the icone of the MandelTour
- drawer onto your hard disk. Then the program will run from the hard disk
- but will go on asking for diskettes for saving the pictures.
-
- 4 - The preceding solution is not completely satisfactory because of the
- slowness of floppy operation. Also, picture files range from 40-60 Kbytes
- (lowres) to 200-300 (hires, by far the most attractive pictures), so
- you can't store many of them in a diskette and moving through the
- catalog still implies some swapping. Things are considerably easier
- and faster if you save your pictures on your hard disk too.
-
- However, beware! If you really get a taste for the thing, you could
- gather a few hundreds of pictures, up to 300Kbytes each... Do you have
- enough room on your disk?
- (don't worry too much, it is always possible to clear a part of the
- library...but less easy to recover the dismissed pictures. Moreover,
- you can always begin this way and later on decide to save your
- pictures in diskettes)
-
- If you do want to run this way, merely copy all the files of the 2nd
- diskette in your MandelTour drawer. There are several methods for this:
- (i) from Shell... surely you know what to do
- (ii) from Workbench:
- - open this diskette
- - select the 'Show all files' option in the 'Window' menu. If
- necessary, increase the size so as to see all the files.
- - drag all the file icons onto the MandelTour drawer icone. There
- will be a warning requester for the 'Mandel.biblio' file, already
- existing. Choose to overwrite it.
- That's all!
- (iii) you could also operate from the program, through the 'Add Picture'
- menu - more about this later.
-
-
-
- If you are not patient enough to weight pros and cons and make up your mind,
- or if you can't prevent yourselves from running MandelTour without reading
- the doc, go ahead! You can run MandelTour safely from the diskettes, and,
- hopefully, you should use it intuitively for most of its functions. Simply,
- have an empty formatted diskette handy in case you would decide to save your
- first pictures right away. It will be possible to install the program on
- your hard disk at any time.
- (For this, simply follow the above lines. However, if you want
- not to loose your new pictures, you will have to use the
- 'Add Picture' menu -- and to read the corresponding information.)
-
-
- MandelTour is memory hungry. It opens 2 screens when running in Julia mode,
- both of which can be overscan hires 8-plane screens, i.e. 300-400 Kbyte each.
- Additionnally, its rendering facilities ask for a temporary storage of
- 2 bytes per pixel, i.e. up to 800 Kbytes more... So, better have plenty
- of memory, otherwise don't run too many tasks at once!
-
-
-
-
-
-
- --------------------------- INTRODUCTION ---------------------------------
-
-
-
- The Mandebrot Set is a very complex object that you can see as the black shape
- in the opening screen. A few details about its computation are given at
- the end of this notice. The important point is that the Set is a mine of
- fascinating pictures, and the only purpose of this software is to help you to
- dig them out without worrying about the underlying mathematics.
-
-
- These pictures can be understood simply. Assume that the Set can be cut out
- of a metal plate and that this plate is heated. The temperature arises all
- around. This can be visualized with a thermography, i.e. points with a
- temperature within a given range are rendered with a given color, points
- with a temperature inside another range are rendered with another color,
- and so on... Roughly, the temperature varies all the more rapidly (in other
- terms, there are all the more colors) as one is closer to the Set boundary,
- and this is the key point: the Set boundary is fantastically, marvelously
- complicated. You cannot really sense this from the only opening picture.
- You can see disks in all sizes and you can admit that others exist that are
- too small to be seen, due to the poor resolution of the screen. But there
- is more. The Set can be continued with myriads of invisible lines that
- connect it with myriads of microscopic replicas of the main set. These lines
- are invisible but, within our thermography interpretation, they make the
- temperature arise around them and this makes fantastic structures appear.
- Now, in order to view them, you must watch very tiny details, very near the
- Set boundary; you need a powerful microscope. MandelTour just supplies it.
-
-
- The principle is very simple: you begin with a full-screen picture of the
- whole Set. You frame a part of it in the same way as you would make a DPaint
- brush. This part is enlarged, possibly to the full screen size and... you
- repaet the process again and again, framing and enlarging. All the pictures
- can be saved in IFF/ILBM format, so you can export them in other graphical
- softwares.
-
-
- A major problem is how not to get lost when you go deeper and deeper in
- the Set details. Think that the Set enlarged by a (very modest, by the terms
- of MandelTour) 1000000 ratio is more than 200 miles wide while only a
- 14-inch area can be seen through your screen. And think that you can go
- far deeper, roughly up to a 10^35 ratio --- then the Set would be larger
- than the whole known universe!!! In addition, as you proceed with successive
- enlargements, you often find several places in the same screen that all seem
- worth a close-up. Then you must be able to go back in your exploration so
- as to enter another branch.
-
- These problems are handled with a purely graphical method. All the pictures
- obtained with this program (and saved) are pieces of a large graphical library
- which allows you to come and go in the Set. The catalog of this library is
- kept up to date in a special file, Mandel.biblio, where every picture
- corresponds to a record of the strategic data concerning it.
-
- The navigation through the catalog is done through two "Zoom" functions.
- First, the "Zoom In" function begins by drawing the outlines of all the
- pictures which were obtained by enlarging the picture on screen. Then you
- just have to frame one of these outlines with the mouse to reload the
- corresponding picture (you can also choose among the largest of these
- outlines by means of arrow keys only, as will be explained later). Conversely,
- the "Zoom Out" function scans the catalog and reloads the smallest picture
- which contains the picture on screen. All this is completely automatic when
- all the pictures are within reach from the program, i.e. when all is on hard
- disk; in the case of a diskette library, you will be asked the diskette which
- contains the required picture.
-
-
- MandelTour also allows you to produce other kinds of pictures, namely Julia
- pictures and "incomplete Mandelbrot" pictures. All of them are related to
- the Mandelbrot Set.
-
-
-
- THE JULIA SETS
-
-
-
- Trying to explain Julia sets to a non-mathematician is as difficult as
- explaining the Mandelbrot set --- hopeless, in fact. So, we give just a
- few descriptive words. First, if there is a single Mandelbrot set, there
- is an infinite number of Julia sets. Each of them can be enlarged as deep
- as one wants, but you will rapidly discover that enlarging Julia sets
- does not reveal new details (informed people speak of auto-similarity,
- i.e. one gets the same patterns irrespective of the scale), so usually
- one does not go too deep inside Julia sets.
-
-
- There is a strong relationship between Mandelbrot and Julia sets. Each Julia
- set is characterized by its "source point", which must be specified in the
- Mandelbrot set plane. If the source point belongs to the Mandelbrot set
- (i.e. graphically, if it lies inside the black part), then the Julia set
- looks like the above mentioned solid plate of the Mandelbrot set, i.e. its
- picture contains a large black part. If the source point is outside (in the
- coloured part of the Set), then the Julia set only contains invisible dusts
- and threads, and especially the complex coloured structures attached to them.
- Julia sets exhibit a sharp transition when their source point passes through
- the boundary of the Set, and their pictures are all the more complex and
- attractive as the source point is nearer the boundary.
-
-
- In MandelTour, the navigation through the Julia sets is done by means of
- two screens. One of them shows the plane of source points, i.e. the
- Mandelbrot set or a part of it, and all the visible source points of
- Julia pictures in the catalog are indicated. The other screen is the Julia
- screen. To load a Julia picture, you just have to click its source point
- in the Mandelbrot screen. Then, if you have saved enlargements of this
- particular Julia set, you can move back and forth between them with the
- zoom in and out functions, as in the Mandelbrot set.
-
-
-
-
- INCOMPLETE MANDELBROT SETS
-
-
- The "incomplete Mandelbrot sets" are obtained through a very simple
- change in the calculation recipe (see Appendix). There are 5 variants,
- leading to "incomplete-1" to "incomplete-5" sets. They too are defined
- by a source point, which again will be chosen in the Mandelbrot plane,
- but there is now no special relationship between the Mandelbrot set and
- these special sets. As far as I know, there is no mathematical interest
- in these sets, but they can provide interesting pictures.
-
- The name "incomplete set" comes from what can be obtained with the
- "incomplete-1" kind. This looks like the classical Mandelbrot
- pictures, except that a part has been removed, more or less important
- depending on the location of the source point.
-
-
-
-
- THE PROGRAM MODES
-
- So, there are 3 different modes in the program, namely (pure) Mandelbrot,
- Julia and incomplete-Mandelbrot modes. The program is always initialised
- in Mandelbrot mode. Mode change is performed through a menu function.
-
- MandelTour mentions again the running mode after any menu call or after a
- mere mouse click.
-
-
-
-
- THE PICTURE COLOURING
-
-
- Here, are a few sketchy explanations about what happens when the program
- computes a picture. More information will be given later.
-
- A numerical picture is made of discrete points, the "pixels", 320x256 for
- a lowres PAL screen or more if you are running in overscan or in hires.
- For every pixel, the program computes a number N --the "temperature"
- mentioned above-- then it stores N in a kind of file and it sets this pixel
- in a temporary colour. At the end of the calculation, the N-file
- is read again and the program makes its best to divide the interval swept
- by the N's into as many slices as available colours, with slices as
- equal as possible. Then the pixels are recoloured in the colour attributed
- to their slice.
-
- This first colouring is always done with the same colours as the parent
- picture. Colours can be changed with the "palette" menu function. One can
- also choose more sophisticated rendering through the "rendering" menu
- function.
-
-
-
-
- THE MAXIMUM ITERATION NUMBER
-
-
- Still an effort for non-mathematicians! You must understand that for every
- pixel the program enters a loop of calculations and it repeats it more or
- less depending on whether the pixel is inside the set or outside. The above
- mentioned N numbers are simply the numbers of loops -- the number of
- "iterations" -- which are done for the various pixels, before exiting
- and considering the next pixel.
-
- Theoretically, this loop should be endless inside the set. Of course, since
- running for ages is out of question, one must decide where does the eternity
- begin. One chooses a maximum value NMAX for N. If, for a given pixel, one
- still turns around the loop after NMAX iterations, it is assumed that one
- will never go out; the pixel is assumed to belong to the set and it is
- coloured in black. Of course, would one have continued one or two loops more,
- maybe the iteration would have stopped by itself; in other terms, the
- real N could be NMAX+1, or NMAX+2... and not infinity, and the pixel should
- not be black. Such errors will be frequent if NMAX is chosen too low,
- resulting in a dust of erroneous black pixels. If you meet too many of
- them, it will be time for you to increase NMAX for the following enlargements.
- However, before that, begin with accepting the NMAX proposed by the program.
-
-
-
-
- THE ARITHMETIC ACCURACY
-
- Another parameter plays an important part in the accuracy of computations,
- namely the number of digits used in arithmetic operations. MandelTour uses
- fixed-point assembly routines with 32, 64, 96 or 128 bits. Obviously, a
- too low accuracy leads to meaningless calculations. MandelTour uses an
- empirical recipe to choose the relevant accuracy, but you can override this
- choice if it does not yield satisfactory results.
-
-
-
-
- THE PICTURE RESOLUTION
-
-
- MandelTour can provide pictures in any of the screens available to your
- setup, with the size that you want and up to 256 colours -- insofar as
- the corresponding screen can be open. However, we urge you not to multiply
- the screenmodes too much in the library.
-
- A MandelTour "screenmode" is defined with a mode (i.e. lowres, hires...),
- a size (320 x 256,...) and a depth (up to 8 for 256 colours). Changing one
- of these parameters induces a change of the screenmode. The important point
- to be noticed is that loading a picture with a screenmode different from
- that of the current picture requires closing the current screen, opening
- a new screen and finally loading the new picture. Screen closing and opening
- are slow operations which should be avoided as far as possible.
-
- Choosing an arbitrary size can arise another difficulty: MandelTour
- assumes that your screen has a physical width/height ratio of 4/3 (on your
- monitor) and it relies on this assumption to avoid distortions in its
- enlargements. Using screens with arbitrary dimensions can lead to deformed
- pictures. This distortion can be put in evidence by recomputing the opening
- Mandelbrot picture in this new mode: the disks all around the main body
- should be perfect circles. If they are not, correct the width or the height
- and redo the computation from the 1st picture.
-
-
-
-
-
-
- ----------------- MANDELTOUR MENUS AND FUNCTIONS -----------------------
-
-
-
-
- MandelTour is structured around three menus
- - a General menu, which puts together several utilities
- - a Navigation menu, which contains the various functions for moving
- through the graphical library
- - a Creation menu, which contains all the functions for computing new
- pictures or for modifying them.
-
- We begin with the 2nd menu
-
-
-
- Zoom in
- Zoom out
- Click Source
- "NAVIGATION" MENU Change screen
- Refresh
- Data
- Load picture
- Reset
- Slide show
-
-
-
- This function first displays the part of the catalog which can
- Zoom in be reached from the picture on screen, i.e. it draws the
- oulines of all the enlargements made from this picture. You
- must redraw one of these outlines to load the corresponding
- picture. For this, put the cursor near the top left corner of the target
- outline, press the left button and drag the mouse towards the right, while
- keeping the button pressed. This makes a rectangle to appear. It is not
- required for this rectangle to coincide exactly with the target outline:
- the program will look for the nearest picture in the catalog.
-
- Moving the 2nd side of your rectangle on the left of the first corner
- and then releasing the button cancels the selection. You must resume all
- the process, clicking the left corner and drawing a rectangle by dragging
- towards the right.
-
- If you want to return to the menu, hit Escape key. Finally, drawing a
- rectangle as large as the screen will reload the same picture.
-
- The deepest enlargements are rendered as mere points, near invisible. To make
- them more visible, hit the ARROW-UP key (which is the keyboard shortcut for
- the Zoom In function). These points are then transformed into more visible
- crosses.
-
-
- The Zoom In function can also be controlled by means of arrow keys only:
- - The UP key has 3 functions :
- (i) calling the zoom-in function (at first press). The largest outline
- is printed in bold: this means that it is preselected, i.e. ready
- to be selected.
- (ii) this preselected frame is selected with a 2nd press. It is then
- reprinted in another colour. A secondary effect of this 2nd press
- is to redraw the point-like outlines as crosses, so as to make
- them more visible.
- (iii) loading the selected picture when pressed again just after the
- 2nd press (otherwise the selection is cancelled)
- - The RIGHT and LEFT keys are used to change the preselection among
- the 8 largest outlines. The preselected frame is always bold-printed.
- - The DOWN key has the same effect as ESCAPE, namely to return to the
- general menu.
-
-
- This is the reverse function of "Zoom In". The program
- Zoom Out looks for the pictures which contain the picture on screen
- and reloads the smallest of them.
-
- Two screens are opened within Julia or incomplete-Mandelbrot modes, one for
- Julia or incomplete-Mandelbrot pictures, the other one for the sources in
- Mandelbrot pictures. The Zoom functions run on the two screens.
-
-
- This function is activated only within Julia or incomplete
- Mandelbrot modes. The program switches to the "Source"
- Click source screen and you must click one of the visible source points.
- Then the first picture computed with this source point is
- reloaded.
-
-
- This function is activated only within Julia or incomplete
- Change screen Mandelbrot modes. It acts as a toggle between the
- source screen and the picture screen.
-
-
- Reloads the picture on screen, so as to clean it from various
- Refresh writings (for instance after a cancelled zoom or a cancelled
- computation).
-
-
- Makes a window open with strategic data about the picture
- Data on screen: the name of its IFF/ILBM file, its type (Mandelbrot,
- Julia...), the coordinates of its corners and its possible
- source point, plus a little information about the computation.
-
-
- Loads a picture directly from its position in the catalog.
- Notice that this position is not necessarily the number which
- Load Picture appears in the name of the file (these files are automatically
- labeled Mandel1, Mandel2, Mandel3... by the program, but once
- you have deleted one of them, the vacancy in the numbering
- is never filled).
-
- Also, notice that you can leaf through the catalog by means
- of the keyboard shortcuts explained later.
-
-
- Reset Reloads the first picture (the whole Mandelbrot set) in the
- Mandelbrot screen.
-
-
- This function proposes a continuous display of selected pictures
- Slide show in your library, with a given time for every picture (actually,
- a rather crude slide show, without double buffering). Of course,
- this function is of no interest to people without a hard disk,
- since they would be obliged to stay near their machine to insert the picture
- diskettes as they are asked for by the program.
-
- Selecting this function makes a pop-menu to appear, with 4 options:
- - an adjustement of the delay between pictures. Set integer values,
- from 1 to 127 sec.
- - a general selection for all pictures, so as to decide which will appear
- in the slide show. Every picture is displayed, and you are reminded
- whether the picture was previously retained or dismissed, or if it was
- never sorted out; you must decide, either by clicking the buttons YES
- or NO, or by hitting keys 'y' or 'n')
- - a selection on the last pictures, which were never sorted out.
- - the slide show itself. Press Escape key to stop it.
-
- The slide show can also be activated at any time by simultaneously
- pressing the '+' key (in the numeric pad) and either the Right or Left
- arrow key.
-
- Warning: informations about the timing and the picture selection are
- definitely transferred to your catalog only if you exit from MandelTour
- by the 'Exit' menu.
-
-
- KEYBOARD SHORTCUTS : a few of the navigation functions can be directly
- obtained from the keyboard, through the following keys:
- RIGHT arrow : forward move by one picture in the catalog
- LEFT arrow : backward move by one picture in the catalog
- UP arrow : zoom in ; pressing twice visualizes the point-like frames
- (finally you must redraw one outline with mouse)
- DOWN arrow : zoom out
- RETURN : data on the displayed picture
- Also notice the combinations
- SHIFT+RIGHT : jumps to the last picture
- SHIFT+LEFT : reset (reloads the 1st picture)
- 'numeric' (in the numeric pad) + RIGHT or LEFT : forward or backward
- move in the catalog by 'numeric' pictures
- This information can be retrieved at any time by pressing the "Help" key
-
-
-
- New picture
- Palette
- THE "CREATION" MENU Rendering
- Freeze palette
- Mode change
- Animations
- De-enlarging
-
-
- New picture This is the entry for computing a new picture. The full
- operation is done in 4 steps:
-
-
- I - The geometrical definition of the picture.
- In pure Mandelbrot mode, only enlargements are possible. One begins
- with outlining the part of the displayed picture which must be enlarged,
- in the same way as in the "Zoom In" menu.
-
- In fact, there are 3 modes to adjust the rectangular outline; one
- swiches from one to another one by pressing special keys. The
- default mode is the "full screen" mode, i.e. the enlarged picture
- will cover the full screen. You must drag the mouse towards the
- right, otherwise the drawn rectangle is not accounted for and all
- must be done again. In this mode, the left side of the rectangle
- always remains at the same X-position, but the whole rectangle
- moves up and down with the mouse. If you have left this
- full-screen mode, you can recover it by pressing the "f" key
- (don't keep the key down, a single stroke is enough)
-
- You get the "drag" mode by pressing the "d" key. Then the
- rectangle is moved as a whole.
-
- You get the "free" mode by pressing any other key (different from
- f, d -- also, Escape or the arrow keys make you to quit). Then the
- left top corner is fixed and you move the lower right corner with
- the mouse (again, moving on the left of the initial corner cancels
- the selection).
-
- In Julia or incomplete-Mandelbrot modes (of course, you must have moved
- to such a mode, through "Mode Change" menu), there are 3 possibilities:
- (1) you can enlarge a part of the displayed picture, as in the pure
- Mandelbrot mode
- (2) you can compute a full new Julia set, by choosing a new source point.
- In this case, the program switches to the Mandelbrot screen and
- invites you to click at a new source point. If the Mandelbrot
- picture is not detailed enough to choose accurately or if the
- correct part of the Set is not displayed, you can escape to the menu
- (Escape key), change the view in the Mandelbrot screen and make
- a new choice for the source point.
- (3) if you have already an enlarged Julia (or incomplete Mandelbrot)
- picture, you can choose to keep the same scale with a new source
- point. Proceed as above.
-
- In any mode, when you are requested either to draw a new frame or to
- click a new source point, you can always return to the general menu
- by pressing the Escape key.
-
- Even if you absolutely want to enter coordinates through the keyboard,
- draw an outline or click a source point anywhere; MandelTour will
- deal with you in a while.
-
-
- II- Then MandelTour opens a window where all the options for the next
- computations are summed up. Most of them simply come from the parent
- picture. There are 6 lines and 3 buttons. Click everywhere you want
- modifications and answer the questions.
-
- (1) The 1st line reminds you that the frame and the source point come
- from the choices you did with the mouse. If you want to enter
- coordinates through the keyboard, now is the right time! Click and
- type your inputs. However, notice that you are allowed numbers
- from -1.9999... to 1.9999... only (neither 2.0, nor -2.0).
-
- (2) The 2nd line generally tells that the accuracy is automatic, i.e.
- MandelTour decides by itself how many bits to use in arithmetics
- This should work fine in Mandelbrot mode, but maybe not for enlarged
- Julia sets. If a picture appears vitreous or fuzzy during the
- computation, you must override this choice. A simple way consists
- in stopping the computation, without reloading the initial picture.
- Ask for a new picture and frame the full screen: thus you will
- obtain a new computation of the same picture. Then override the
- automatic choice by clicking twice this 2nd line: the 1st click
- makes the current accuracy appear, 32-bit for instance, and the
- 2nd click sets the next higher accuracy (64-bit, in our example).
- If you go on clicking, you will return to the automatic mode.
-
- (3) NMAX choice (no more than 65535)
-
- (4) This line gives the pixel size of the future picture and indicates
- whether it is the highest possible or if it is reduced. In the former
- case, either the width or the height is that of the screen, depending
- on the shape ratio you have chosen for your framing.
- If you click, you are asked for a reduction ratio, in percents.
- Answer 100 for the highest size; RETURN for no change.
- Any picture computed from a reduced picture is proposed with the
- same reduction ratio.
-
- (5) This line deals with the saving of the future picture. You can choose
- either an automatic saving, or a saving after a request.
- In animation mode, this line informs you that the pictures will be
- saved in ram. Click if you prefer to save them elsewhere.
-
- (6) This line allows you to force where to save the future image.
- Theoretically, MandelTour knows which is the "current" disk(ette),
- namely where the last picture has been saved, and it will attempt
- to save the future picture in the same place. If you click this line,
- you will be asked where to put this picture.
- This line is specially interesting to people who have begun
- their library on a hard disk and who would wish to switch to
- diskettes.
-
-
- There are also three buttons. The third one ("Cancel") sends you back
- to the general menu. The first one makes the computation begin.
- The 2nd allows you to change the screen mode: a new pop-menu window
- opens, where you can modify one of the current screenmodes (i.e. the
- screenmodes of the pictures in your library) or choose a completely
- new screenmode through the standard Intuition ScreenMode requester.
-
-
- Notice that the rendering parameters are not within reach from this
- parameter confirmation. A new image is always first rendered in the
- same way as the parent picture, then it can be changed by means of
- the "rendering" menu.
-
-
- III- The computation begins. MandelTour attempts to store intermediate
- results in ram, with 2 bytes per pixel (hence from 164 K for a lowres
- PAL, 256-color, 320 x 256 picture, to near 800 K for an overscan hires
- picture). If there is not enough memory available, MandelTour suggests
- to store these results in a real file, on disk(ette), and asks you
- where to put it.
-
- Don't consider the colouring of the screen during the computation! This
- is mainly a mere indication of the advancement of the computation.
- After the last pixel, MandelTour reads again the stored results so as
- to analyse the histogram and to allocate the available colours at best.
- However, this is not yet the definitive colouring because the new picture
- generally does not have as many colors as the parent picture; thus there
- is a final remapping of the parent palette on the daughter palette so
- as to get nearly the same range of colors.
-
- You can always stop computing simply by clicking. If you confirm the
- stop, you are proposed to reload the previous image, but you may prefer
- to remain with the partly computed picture in order to frame a new
- enlargement at once, if what you see in it is enough for you. If finally
- you prefer to reload the preceding picture, use the "Refresh" menu.
-
-
- IV- Finally, MandelTour proposes to save the picture, unless it does so by
- itself if you enabled the automatic saving. In pure Mandelbrot mode,
- accept the saving, unless the picture is specially disappointing. Even
- not very attractive, it could serve as a starting point for future
- explorations. Pictures are automatically numbered.
-
- When the current diskette is full, MandelTour asks you to insert a new
- empty formatted diskette. BE SURE TO GIVE DIFFERENT NAMES TO YOUR
- DISKETTES !!! MandelTour uses these names in the catalog and in the
- navigation functions. If it looks for the picture toto:Mandel28,
- and if the toto diskette is not mounted, you will be requested
- "to insert volume toto: in any drive". It would then be worrying to
- have two diskettes named toto...
-
- When MandelTour asks for a new storage diskette, it announces the free
- space in the current diskette and an estimated size for the saving file,
- without taking the ILBM data compression into account. Actually, this
- compression can be very significant for the first pictures (later on,
- for very complex pictures, it will become rather weak), so you can
- disregard the request and attempt the saving in the same diskette. There
- will be no damage if this fails; you will just have to insert the
- required new diskette.
-
- If you want to import your pictures in other painting programs, you must
- know how MandelTour named them. You get the information by means of the
- "Data" menu (or more simply, with the RETURN key). However, better work on
- a copy instead of the MandelTour file itself. Indeed, an ILBM MandelTour
- file contains a special information chunk which would be lost after a saving
- in the painting program. This information is not essential in the usual
- operation of MandelTour, but it could be in case of an accidental loss
- of the catalog file.
- A convenient way to get this copy is the "Saving" function, in the
- "General" menu.
-
-
-
- Obviously, you will use this function to set colours to your
- Palette own taste. It is a 8000-byte assembly routine with a lot of
- features. Of course it was designed for an intuitive use, but
- a few extra points must be explained.
-
- First of all, because of the system, the pictures do not use all of the
- 256 available colours, but only the colour 0 (black) and colours 20 and
- above. Indeed the 11 first colours are used by Intuition for the 3-D look
- of windows (these colours are listed in Appendix) and, specially, colours
- 17, 18, 19 are used for the mouse pointer. Now, if we used a very smooth
- colour gradation over a large interval containing colours 17--19 (for
- instance, from colour 15 to colour 100), the mouse pointer could become
- near invisible over an extended range of colours. Since these colours are
- imposed by the system, the simplest solution was to begin the colouring
- from colour 20.
-
- The palette opens very classically, with 3 slide gadgets for either RGB
- or HSL components. The RGB components of the selected colour are displayed
- in the title bar. The 20 colours left apart are displayed with smaller
- plots but they can be selected; thus one can customize the aspect of the
- program windows and menus, or check the visibility of the mouse pointer.
- Beyond these 20 colours, only the colours really used in the picture are
- displayed.
-
- All the classical gadgets for copying, spreading, undoing and for the
- general reset (return to intial colours) are here. The action of RGB/HSL
- cursors is somewhat coarse when there are few colours (then the palette
- has a small height), but don't forget this action can be adjusted
- by clicking ]3maside]0m the slider, above or below: the RGB/HSL components are
- then varied by one unit at a time.
-
- Notice that the colour gradations are HSL-based (thus, a gradation between
- two complementary saturated colours displays only saturated colours)
-
- If you keep the left button pressed on a colour plot, this colours starts
- twinkling after a while. This is useful to localise a colour in the image.
-
- Lastly, there is a small button on bottom right, marked with "G". Clicking
- it sets the gradation mode. Then the palette is considered a sequence of
- linked color gradations, i.e. smooth variations of colours from a colour
- "node" to another one. The first job consists in identifying these nodes;
- they are displayed with dotted rectangles (except for the 20 colours left
- apart).
-
- These nodes can be lonely, when the colour which ends a gradation also
- begins the next one. They can also occur by pairs when there is a gap
- between the last colour of a gradation and the first of the next one.
- Lastly they can occur by packs when the routine cannot see any gradation
- among them.
-
- In this gradation mode, only the nodes can be selected; you make one of
- them the active colour by clicking it (the program will complain by flashing
- if you click anywhere else; however, most of the 20 colours left apart are
- hidden nodes and can be selected). You can
- - change the node colour with RGB/HSL sliders.
- - move the node, simply by dragging it with the mouse, until it meets
- the next nodes. In the case of a gradation over several lines in the
- palette, the node can pass from a line to another one.
- - add a new node, by pressing the INSERT button.
- - delete the active node, by pressing the DELETE button
- - or undo your last operation.
- In all cases, all the gradations of the palette are computed again from
- the modified node.
-
- Notice that the automatic research of node colours is not perfect, due to
- rounding errors when passing from RGB to HSL in the routine. When you enter
- the gradation mode, erroneous nodes may be displayed. It's up to you to
- clean up with the DELETE button.
-
- Lastly, the gradation mode exhibits a new gadget, labeled "AUTO", which
- sets a random mode. Various keys control this mode; their action is
- reminded in the palette window. In a few words, the nodes do not move across
- the palette but their colours are changed continuously through their HSL
- components, in various manners controlled by function keys:
- - F1 : only hues (H) are changed
- - F2 : only saturations (S) are changed
- - F3 : only levels - or brightnesses- (L) are changed
- - F4 : H+S are changed ; F5 : H+L ; F6 : S+L
- - F7 : the three HSL components are varied
- - F8 : all levels are inverted
- The numeric keys allow to choose various 5-node patterns, except
- the "0" key, which resets the initial node pattern (which can have an
- arbitrary number of nodes). Also notice:
- - The rapidity is controlled by the "+" or "-" keys.
- - The space bar stops the colors. Then you can retrieve the last palettes
- by pressing the LEFT key (one palette backward), or the RIGHT key
- (one palette forward). Pressing the space bar restarts the random mode.
- - For exiting the random mode, press either RETURN (if you accept the
- final palette) or ESCAPE (for cancelling).
-
-
- When exiting the palette, if you have modified anything, MandelTour
- suggests you to save the picture again.
-
-
-
- This menu is activated just after a computation. It allows you
- Rendering to choose among several kinds of colour renderings. A window
- opens, where the first line reminds you of the current
- rendering mode. The two or three next lines display the
- various parameters for this mode. As usual, click everywhere you want a
- change (click the first line to change the rendering mode). Lastly, four
- self-explanatory gadgets:
- - EXECUTE to render the picture in the new mode
- - PALETTE to open the palette and change the colours
- - SEE sends the window to background, so as to better see the picture
- - EXIT returns to the general menu. If you have changed anything,
- you will be suggested to save the picture again.
-
- There are five rendering modes.
-
-
- I - DIRECT INTERPRETATION
-
- A single parameter, the least number of pixels per colour. Read the
- Appendix to understand how MandelTour puts its colours and what this
- parameter means. Do experiments to master it. Too low a value leads to
- scrawny strands and too many colours in the palette; the last colours
- are practically useless because the corresponding pixels are scarcely
- noticeable (make them twinkle in the palette). Increasing the value makes
- the inflorescences richer while reducing the number of colours, but a too
- large value leads to a coarse picture.
-
- It's up to you to find the best value --for you.
-
-
-
- II - LOCAL CONTRAST ENHANCEMENT
-
- This function attempts to reinforce the strands beyond what can be
- obtained by playing with the least number of pixels per colour. There
- are 3 parameters to adjust.
-
- The principle consists in multiplying the real N of every pixel with a
- factor all the larger as this N is farther from the minimum of the
- neighbouring N's. The exploration radius is the half-side (in pixels)
- of the square where this minimum is looked for. Better stay with low
- values (1 or 2) so as not to exaggerate the contrast.
-
- The threshold sets the difference between N and the local mimimum
- below which nothing is done, so as to avoid possible artifacts for the
- lowest N's --if you don't like them.
-
- The contrast factor obviously allows you to adjust the contrast. Be
- careful! You must DECREASE this factor to enhance the effect, and this
- effect is often quite brutal. Values larger than 15 are not taken into
- account; moreover, nothing will be visible for 10 and more if you are
- not very deep in the Set, with an averaged N around 2^10.
-
-
-
- III - OUTLINES
-
- This function detects points where N increases or decreases. The effect
- is controlled by 4 parameters:
- - there is no effect if N is less than the lower threshold or larger
- than the upper threshold.
- - within this N-range, every detected outline is marked by moving the
- colour by the 'jump' in the palette.
- The value 'jump'=0 is special: all points other than outlines are
- put in black. If you want no outline around the Mandelbrot set,
- set the upper threshold at NMAX-1.
- - the colour skip allows you not to mark all outlines, but one over
- 2, 3...
-
- Setting both lower threshold and upper treshold at NMAX, with a zero
- jump, you will get the outline of the Mandelbrot or the Julia set.
- Remember that there are an infinity of Julia sets, if you are looking
- for an original outline.
-
-
- IV - BLURRING
-
- This function depends on 4 parameters. First, it performs the average
- of the N's around the analysed pixel, in a square the half-side of which
- is the displayed exploration radius, then it combines this average with
- the local N, according to the displayed blurring weight, so as to
- adjust the wished fuzziness:
-
- weight %N %average
- 0 50 50 slight fuzziness
- 1 25 75
- 2 12 88
- 3 6 94
- 4 3 97 highest fuzziness
-
- More than 4 for the weight is useless. The effect to reinject a part
- of the initial N (with lowest weights) is to partly recall the details
- of the picture.
-
- Lastly, a threshold can be set, which can be either a lower threshold,
- or an upper threshold. The N's below a lower threshold or above an upper
- threshold are not modified. A lower threshold below the lowest N
- (indicated as NMIN) has no effect.
-
-
-
-
- V - CYCLIC COLOURING
-
- This is the traditional colouring of most available Mandelbrot
- explorers: one starts from a given colour in the palette for N=0 and one
- advances by one colour everytime than N increases by 1, or 2... i.e.
- the value of the incrementation step. When one arrives to the
- last colour in the palette, one goes on with the first colour.
-
- In MandelTour, cyclic colouring always begins at color 20 (the first
- available colour, according to the MandelTour concepts), and this
- colour is automatically attributed to the lowest N in the picture.
-
- Hint: arrange it so that the colour gradation ending at color 255 can
- be continued with the gradation starting at colour 20.
-
-
- In low memory operation, if MandelTour was obliged to store the N's on
- disk(ette), only the direct interpretation and the cyclic colouring
- are enabled.
-
-
-
- This menu runs around a Palettes file, which contains...
- Freeze palette palettes, obviously. When running in the "frozen palette"
- mode, you can leaf through the various stored palettes and
- experiment their effect on the current picture on screen,
- and any picture that you reload is converted in the frozen palette that
- you chose.
-
- Selecting this menu makes a window to appear with new hotkeys and 4 gadgets,
- two for managing the Palettes file, two for exiting the menu:
-
- ADD adds the current palette to the file. Remember that every record
- is 770 bytes long. If you go up to 100 palettes, this will require
- a 77K file, which could be difficult if you are running MandelTour
- from a diskette; be sure to keep enough free space in your
- master diskette.
- REMOVE removes this palette from the file (obviously, there is no effect
- on the displayed picture).
- FREEZE returns to the general menu within frozen palette mode. The colours
- are frozen to the palette of the displayed picture, whether this
- palette was stored in the file or not.
- FREE returns to the general menu in normal mode.
-
- There are 4 new hotkeys:
- L : for the next palette (or the 1st one, at the end of the file)
- M : for the preceding palette.
- R : restores initial colours
- S : resave the picture
- The arrow keys remain active, so that you can move across the catalog as
- usual. Every picture is loaded with its original colours and you can
- then add its palette to the file.
-
- If you exit through FREEZE, the L/M/R/S hotkeys remain active. Every
- picture is recoloured according to the frozen palette and this palette
- can be changed with L/M keys.
-
- There are 3 ways to exit from the frozen palette mode:
- - select the "Freeze palette" menu again and click FREE
- - force new colours by selecting the "Palette" menu
- - by selecting the "Refresh" menu, which reloads the current picture
- with its original colours.
-
-
-
-
- This function allows to pass from the pure Mandelbrot mode
- Change mode to the Julia mode or to an incomplete Mandelbrot mode.
- Simply answer the questions.
-
-
-
-
- MandelTour does not really make animations. It simply computes
- Animations pictures for an animation, it numbers them and it saves them
- where you want. You will have to reload these pictures in an
- animation-making program (DPaint, for instance).
-
- In pure Mandelbrot mode, the animation cannot be anything else than a move
- in the Mandelbrot set, i.e. a morphing between two frames, a combination
- between travelling and zooming. Other kinds of animation are possible in
- Julia or incomplete modes:
- - the same kind of morphing animation
- - a full-set source animation, i.e. pictures of full sets (not enlarged)
- with a moving source point. This is the only possible animation if there
- is no picture in the Julia screen.
- - an enlarged-set source animation. For this, you must have an enlarged
- picture in the Julia screen and ask for pictures "with the same frame".
-
- MandelTour animations can consist of an arbitrary number of linked
- sequences, so that complex animations such as moves along the boundary of
- the Mandelbrot set or closed-loop moves of a Julia source are possible.
- Of course any sequence always starts from the last picture of the preceding
- sequence.
-
- Three stages can be considered when building an animation:
- - the construction of a "ram:anim.script" file, where MandelTour collects
- all the information about the pictures which define the various
- sequences. This file is deleted only after the computation of the
- animation.
- - the choice of the animation colouring mode (not to be confused with the
- rendering mode for its various pictures), just after the computation of
- the first picture. Due to the specific features of MandelTour, special
- difficulties arise, which will be discussed later.
- - finally, the computation of other pictures.
- MandelTour makes its best to guide the user as naturally as possible. We
- now follow what happens when you have selected this Animation menu.
-
-
-
- 1 - Building the animation
-
- You are asked whether you are ready to define the 1st picture, i.e. the
- beginning of the 1st sequence of your future animation. On the "yes" answer,
- as for any new picture, you must outline the frame to be enlarged or click
- a new source point.
- Then the parameter confirmation opens, with only one new feature: the
- program suggests to save the pictures in ram, under the generic name
- MANDPIC --complete names wil be MANDPIC001, MANDPIC002... Click this line
- if you prefer to save the pictures elsewhere under another name, and answer
- the appropriate lines of a standard file requester. Put no number in
- the file name; the 001, 002... will be automatically added.
- Don't forget that reducing the picture size means less memory and
- faster computations.
- Make sure that the NMAX can suit all the pictures in the animation,
- because it will be the same for all of them.
- Lastly, if you want to enter coordinates through the keyboard, now is
- the right time (click the 1st line).
-
- This picture is not computed at once. You are simply asked to define the
- 2nd picture. You may refuse, for instance because the currently displayed
- images do not allow you to define this 2nd picture with enough accuracy.
- Once you are back to the general menu, look for more adapted images
- and then select the Animation menu again. You are then directly invited
- to define this 2nd picture. Do as usual, i.e. new frame or new source.
- Generally there will be no parameter confirmation, because all the
- pictures will be computed with the same parameters, specially with the
- same size. A difficulty can arise if you chose a free format without
- keeping the same width/height ratio in the two pictures; then, MandelTour
- keeps the upper corners and it corrects the height so as to recover the
- same ratio. You are warned only if the correction is higher than 5%.
- An exception: if you entered coordinates through the keyboard for the
- 1st picture, the confirmation window reopens so as to enter coordinates
- for the 2nd picture.
-
- Once the 2nd picture has been defined, you are asked the number of steps
- between the two pictures (notice that there will be one more picture than
- there are steps)
-
- Then a new request window opens, where you must choose between adding a
- sequence, starting the calculations, beginning again from scratch, or
- returning to the general menu. Adding a new sequence amounts to defining
- its last picture, since this sequence must begin with the last defined
- picture. Returning to the general menu is not a general cancellation;
- this allows you to change the pictures on screens and then to resume the
- animation definition, by selecting again the Animation menu.
-
- Finally the computation of the 1st picture begins.
-
-
-
-
- 2 - Choosing the colouring mode of the animation.
-
- Once the first picture has been computed, the rendering window pops up
- with a new request, rather esoteric, about the colouring mode. You must
- know that mapping the iteration numbers N to colours is done in 2 stages:
- (1) a translation where the N's are transformed into colour numbers
- from 20 to 255 (for 256-colour screens)
- (2) the transformation between these abstract colour numbers and the
- real colours is done through the palette choice.
- You must choose among three possibilities:
- - fixed translation table and fixed palette
- - a new translation table for every picture, but a single palette
- - a new translation table and a new palette for every picture.
-
- You must understand the difficulty, which just comes from the colouring
- process in MandelTour.
-
- Let's assume that, in picture #1, the N's start from NMin=12 (for example)
- with enough pixels at N=12 to allocate the first colour to N=12, while the
- next colour is allocated to N=13 and higher. The translation table thus
- begins with
- N=12 -> colour #20 ; N=13 -> colour #21 ...
- Let's assume that we are diving in the Set, towards a picture where the
- N's start with a clearly higher value, say 24 for instance. As pictures
- are processed, there are less and less pixels with N=12, and finally none.
- Then, the minimum for N is N=13 and, normally, MandelTour would allocate
- the first available colour to this minimum, hence a translation table
- beginning with
- N=13 -> colour #20 ...
- This entails that the colour of N=13 points switches from one colour to
- another one, and so will do the colour of points N=14, 15... hence a
- colour flickering in the animation, generally unhappy.
-
- Two solutions can be considered: to prevent this color switching, or
- to make it imperceptible.
-
- The first solution just is the colouring mode with a fixed translation
- table. The translation N -> colour number is set for the 1st picture
- and it is used for all pictures. Two remarks:
- - This will be a good solution if the N's do not vary much during the
- animation, for instance for a pure travelling (with no zooming) across
- the Mandelbrot set, or for a source Julia animation.
- - On the contrary, in the case of a thorough dive in the Mandelbrot set,
- one can get the last pictures with dramatically few colours. For instance,
- if NMin increases from 12 to 50, all colours below that attributed to
- N=50 in the 1st picture will not be present in the last pictures. And if
- NMin climbs up to several hundreds, there could be no colour left at all...
- at least in all cases where the translation table is finite, i.e. for
- all the specific rendering modes of MandelTour. The only way to escape
- this problem is to do as the other Mandelbrot explorers, i.e. to use a
- cyclic colouring, which indeed corresponds to an infinite translation
- table.
-
-
- However, it's somewhat vexing to be obliged to go back to the cyclic
- colouring, a kind of failure for MandelTour and its sophisticated
- renderings, hence the other suggested solution -- making the flickering
- imperceptible. This will not be always possible, because this implies
- a palette with very soft gradations, hence a large number of colours,
- and thus a special kind of pictures. Then, the translation table will be
- done again for every picture, always with the first colour for the
- lowest N and always with the least number of pixels per colour.
- A possible trap is that successive pictures may not to have the same
- number of colours. If a picture asks for more colours,it will find them
- beyond the colours defined for the 1st picture; however, this could be
- fixed during the final mounting of the animation in DPaint.
- It would be better for all pictures to share the same colour pattern,
- with the same gradations, the same colours for the lowest N's and the
- same colours for the largest N's, even through unequal numbers of
- intermediate colours, i.e. by mapping the initial palette onto the
- palette of every picture. However, this leads to animations with
- several palettes, and unfortunately very few programs can make such
- animations; for instance, DPaint cannot. So, this solution probably is
- out of reach for most of you.
-
-
- As a conclusion, choose:
- - the fixed translation if the N's (and specially NMin) don't vary too
- much, or if you intend to use a cyclic colouring
- - a new translation for every picture, but with a fixed palette, if you
- have a lot of colours, with very soft gradations for lowest colours
- - if you have a software which can make animations with several palettes, try
- the mode with a new translation table and new palette for every picture.
-
-
- Once you have made up your mind, you must decide which rendering to use
- for the animation: direct interpretation, blurring... Take special care
- when setting the least number of pixel per colour, which must go with all
- the pictures.
-
-
-
- 3 - Computation
-
- Nothing to do but to wait... MandelTour informs you about the advancement
- of the computation.
-
-
-
- Preparing an animation often asks for considerable work. Possibly you will
- have to compute special key pictures only as a help to define the various
- sequences of your animation. You can temporarily include these pictures
- in the catalog and remove them later (with the "Delete picture" function).
- Do trials with few images in sequences in order to investigate the
- colouring problems. Reduce the picture size in order to go faster.
-
- Animations are a precious tool for exploring the Julia or incomplete sets.
-
-
-
-
-
- This function will be specially useful to those who installed
- De-enlarging MandelTour together with the whole graphic library on hard disk,
- and who regularly delete the "less interesting" pictures so
- as to face an endemic disk-space shortage. It happens that they
- wonder how they could arrive to such beautiful image, strongly enlarged,
- which remains alone in the library, without the intermediate pictures which
- traced the way to it. To some extent, this "de-enlarging" function aims at
- recovering a part of the lost information. In a few words, it performs a
- computed zoom out; the user must simply indicate the zooming ratio
- he wants. Then MandelTour moves on the usual new picture process, i.e. the
- confirmation of parameters and the computation.
-
-
-
-
-
- Version
- Saving
- Delete picture
- THE "GENERAL" MENU Add picture
- Coordinates
- Memo
- Quit
-
-
- Version Copyright, version number and modest claiming...
-
- Makes a copy of the picture file outside the catalog, for
- Saving instance to load it in a painting program. You are
- asked for a path and a name for the saving.
- This copy does not contain the information chunk and
- cannot be reimported in MandelTour.
-
- Deletes the IFF file of the displayed picture and removes
- the corresponding entry in the catalog.
- Delete picture A related function: whenever MandelTour can't load a file,
- it proposes to delete the corresponding entry. You may
- refuse if you hope to restore the file.
-
- This functions allows you to import pictures in your graphic
- Add picture library. Of course these pictures must have been obtained
- by MandelTour and they must still contain the information
- chunk . They can be in disk(ettes) or in ram. Tell where
- to find them through a classical file requester and answer the questions.
- Several applications are possible.
-
- You have a friend who sent you his finest pictures from MandelTour. You
- can include them in your library.
-
- More distressing: your catalog file was crushed in some unfortunate accident.
- Don't panic! First, in the case where a corrupted file would be left,
- better delete it completely. Then, rerunning MandelTour should automati-
- cally reconstitute a catalog with all the entries in the root directory.
- The story should end there if you operate completely from hard disk, with
- no picture outside. If you are working with diskettes, you will simply
- add pictures from your other diskettes to complete your catalog.
- The only drawback is that you will have to move all these pictures onto
- new diskettes.
-
-
-
- Coordinates Help for localising special points in a picture.
-
-
- Memo Summary of keyboard shortcuts. Can also be obtained with
- HELP key.
-
- Quit To quit gently.
-
-
-
-
-
-
- --------------------------- APPENDICES ---------------------------------
-
-
-
- HOW MANDELTOUR PUTS COLOURS. THE LEAST NUMBER OF PIXELS PER COLOUR
-
- First of all, MandelTour memorises the iteration numbers N for all the
- pixels of the picture. At the end of the computation, it sets the histogram
- of the N's, i.e. it counts how many pixels correspond to N=0, how many to
- N=1, N=2... up to NMAX, the input maximum number. One usually speaks of the
- "boxes" of the histogram; the box "N" contains the number of pixels so
- enumerated.
-
- The first boxes which are not empty are always the most filled (the first
- one corresponds to the NMin displayed in the "Data" window). On the other
- hand, boxes for the highest N's are always near empty --except, possibly,
- the box "NMAX", when the picture contains a part of the Mandelbrot set.
-
- All these pixels must receive a colour from the 256 available colours, or,
- more precisely, from the 236 colours other than those left to Intuition.
-
- The first idea which comes to mind is that it would be pleasant for all
- these colours to be equally present on the screen; in other terms, there
- should be the same number of pixels for each of them.
-
- As an example, let's consider a 320x256 screen, hence 320x256=83520 pixels.
- We remove the points of the Mandelbrot set (to be put in black); assume they
- are 3630. We thus remain with 79890 pixels, to be distributed over the 236
- available colours. Ideally, we should have 79890 / 236 = 338 pixels for
- every colour. Unfortunately, the first non-empty boxes in the histogram
- are far more populated; for instance, one can start from NMin=54 with
- 4500 pixels for this value. There are by far too many points at N=54, but
- there is no way out and the first color must be attributed to N=54. There
- remain 79890-4500 = 75390 pixels and 235 colours to be distributed. The new
- ideal ratio is 75390/235 = 321, but most probably the next box (N=55) also
- is too much populated, hence the allocation of the 2nd colour to N=55, and
- so on.
-
- The story so proceeds. At each stage, we are left with so many pixels and
- so many colours, hence an ideal ratio of pixels per colour. However, the
- histogram boxes are less and less filled, and their population rapidly
- falls below this ratio. For instance, one can arrive to the following case:
-
- Remaining: 40000 pixels, 200 couleurs -> Ideal ratio=200
- Next boxes in the histogram:
- N=61 : 100 pixels
- N=62 : 80 pixels
- N=63 : 70 pixels
- ....
- We shall have to add several boxes (here, N=61 and N=62) to roughly balance
- the ideal ratio. Then we count the remaining pixels and colours, and so on...
-
- We thus see that our pleasant idea does not work. The "ideal number" of
- pixels per colour don't stop decreasing. Furthermore, it can fall down to
- ridiculous values, such as 50 pixels or even less. Generally these 50 pixels
- will be scattered over the whole screen as a kind of dust, either nearly
- invisible or, more often, degrading the picture quality.
-
- This problem is specific to 256-colour machines; it did not arise in previous
- 32-colour versions of MandelTour. It can be easily solved by setting a
- least number of pixels per colour, a lower bound for the previous "ideal"
- ratio. Of course, quite a few boxes will have to be added to balance it,
- so that generally we will arrive at the end of the pixels before arriving
- at the last colour. Pictures will be less than 256-colour, but they will be
- far nicer.
-
-
-
-
-
-
- COMPLEMENTS ABOUT COMPUTATIONS:
-
- Once the source point (xs,ys) is chosen, every pixel (x,y) leads to a
- number N through the following algorithm (pseudo-code)
-
- MANDELBROT : u0=0 , v0=0 , cx=x , cy=y
- JULIA : u0=x , v0=y , cx=xs, cy=ys
- Incomplete-1 Mandelbrot: u0=xs , v0=ys, cx=x , cy= y
- Incomplete-2 Mandelbrot: u0=xs , v0=x , cx=ys, cy= y
- Incomplete-3 Mandelbrot: u0=xs , v0=y , cx=x , cy= ys
- Incomplete-4 Mandelbrot: u0=x , v0=ys, cx=xs, cy= y
- Incomplete-5 Mandelbrot: u0=y , v0=ys, cx=x , cy= xs
-
- u=u0, v=v0 , N=0
- WHILE (u*u+v*v<2) AND (N<NMAX) DO
- w = u*u - v*v + cx
- v = 2u*v + cy
- u = w
- N = N + 1
- ENDWHILE
- OUTPUT: N
-
-
- So, N is considered a 4-variable (x,y,xs,ys) function, defined in a
- 4-dimensional space. Such a complex object can be visualised only by
- means of sections in various planes. Simplest choices correspond to
- coordinate planes, where the X,Y in the plane (the pixel coordinates)
- are identified with 2 of the 4 above coordinates. There are 12 possible
- choices, but since exchanging X and Y does not change the picture, we
- obtain the 6 modes of the program (the pure Mandelbrot is the incomplete-1
- type with xs=ys=0)
-
-
-
- THE COLOURS RESERVED TO INTUITION
-
- MandelTour attribute the following colours to Intuition:
-
- 0 : (black) screen background and colour for the Mandelbrot set
- 1 : (white) printing colour, and light border for the 3-D look
- 2 : (light grey) 2nd printing colour
- 3 : desactivated window titles, and printing in file requesters
- 4 : dark border for the 3-D look
- 5 : (grey) background of windows
- 6 : bar in active windows
- 7 : title in active window
- 8 : menu outline (must contrast with colour 9)
- 9 : background colour in menus
- 10: underlining of menu bars
- 11: printing of drawers in file requesters
- 17,18,19 : mouse pointer
-
-
-
-
- A FEW TITLES
-
- We must quote the founder father : B. Mandelbrot, "Les objets fractals",
- Flammarion,1989,3rd ed. (in French, but this book has been translated in
- most languages), but this is a nearly philosophical book, very general,
- about the fractal concept and its importance. Don't expect much information
- about the Mandelbrot set and its computation.
- Quite more technical and richer: H.O. Peitgen et P.H. Richter,
- "The Beauty of fractals", Springer-Verlag, Berlin, 1986. Hold on firmly!
- This is mathematics with no concession; understand what you can. But
- pictures are splendid; one is near Art.
-
-
-
-
- THE AUTHOR
-
- Charles VASSALLO
- 33 route des TraouiƩros - 22730 TREGASTEL - FRANCE
-
-